import axios from "axios";

export function request(config) {
    // 1. 创建axios对象实例
    const instance = axios.create({
        baseURL: 'http://123.207.32.32:8000',
        timeout: 5000
    })

    //2.axios的拦截器
    //axios.interceptors--------->拦截全局
    //2.1请求拦截的作用
    instance.interceptors.request.use(config => {
        console.log(config);
        //1.比如config中的一些信息不符合服务器的要求

        //2.比如每次发送网络请求时，都希望在界面中显示的一些动画(比如某个图标)

        //3.某些网络要求(比如登录(token)),必须携带一些信息
        return config
    }, err => {
        // console.log(err);
    });
    //2.2响应拦截
    instance.interceptors.response.use(res => {
        // console.log(res);



        return res.data
    }, err => {
        // console.log(err);
    })

    //3.发送真正的网络请求
    return instance(config)

}



// export function request(config) {
//     return new Promise((resolve, reject) => {
//         // 1.创建axios对象实例
//         const instance = axios.create({
//             baseURL: 'http://123.207.32.32:8000',
//             timeout: 50000
//         })

//         //3.发送真正的网络请求
//         instance(config)
//             .then((res) => {
//                 resolve(res);
//                 // console.log(res);
//             })
//             .catch(err => {
//                 reject(err);
//                 // console.log(err);
//             })
//     })
// }




// export function request(config) {
//     const instance = axios.create({
// 1. 创建axios对象实例
//         baseURL: 'http://123.207.32.32:8000',
//         timeout: 5000
//     });
//     //3.发送真正的网络请求    
//     instance(config.baseConfig)
//         .then(res => {
//             config.success(res)
//         }).catch(err => {
//             config.failure(err)
//         });
// }




// export function request(config, success, failure) {
//     const instance = axios.create({
// 1. 创建axios对象实例 
//         baseURL: 'http://123.207.32.32:8000',
//         timeout: 5000
//     });
//     //3.发送真正的网络请求
//     instance(config)
//         .then(res => {
//             success(res)
//         }).catch(err => {
//             failure(err)
//         });
// }